1. Field of the Invention
The present invention relates to the field of data processing, particularly the field of detecting and correcting incorrectly digitized read data pulses derived from the reading of data stored on a magnetic medium.
2. Prior Art
The recent advances in computer technology have provided for greater quantities of information in shorter periods of time. This has been achieved in part through high speed transmissions of data in bit streams. However, high speed transmissions cause a low tolerance for timing errors during data recovery from the bit stream. In particular, the high transmission rates dictate a smaller timing window for data recovery which increases the likelihood of an error in the recovered data.
Within the computer industry, the increase in computer speeds and data handling capabilities has produced a need for greater data storage and retrieval capabilities. In response to this need, tape drives have grown immensely in their storage capacity from thousands of bytes to gigabytes in part by increasing the packing densities. However, with the methods of data retrieval remaining relatively unchanged, the problem of accurately digitizing the analog signals produced by the read heads of these high capacity drives has become more difficult. Similar problems arise in other technologies including other magnetic recording technologies, optical disk systems, video systems, broadcast transmissions and communication systems.
A problem that commonly arises in attempting to read data from a high density medium is that of bit shifting. Bit shifting occurs when a pulse of the analog read signal is shifted out of its original position in the signal, which position is associated with the timing cells defined by a recovered clock signal. For example, when reading magnetic media such as magnetic tape, the recovered clock signal is generated by detecting a stream of read data pulses ("RDP") and outputting a recovered clock signal corresponding to the frequency with which the pulses occur in the analog signal.
The recovered clock signal defines a plurality of timing cells ("cells") which represent the intervals of time in which the analog pulses generated by the read head are detected as distinct digital values. When an analog pulse is displaced from its original position with respect to the cells of the recovered clock signal, the pulse may be subsequently digitized in an incorrect, adjacent cell and detected as representing the wrong binary value for the data read from the storage tape.
The source of a particular bit shift may be caused by a number of factors, but most notably and importantly are those of pulse crowding and jitter. Pulse crowding, otherwise known as intersymbol interference, occurs as a consequence of the magnetic transitions on the tape being recorded so close to each other that the pulses of the analog signal output from the read head superimpose to create a distorted pulse having a shifted peak. As the packing density of the tape increases, the bit shift errors due to pulse crowding also increase.
The most common type of output signal that can cause peak shift due to pulse crowding is what is known as an isolated di-bit. An isolated di-bit is two closely spaced pulses of opposite polarity which correspond to the two oppositely directed magnetic field reversals on the tape. For example, in the GCR code which is a 0,2 binary run length limited code, a valid data string does not require any zero values between one values, but cannot have more than two sequential zero values. A di-bit therefore occurs in the following sequence: 001100. In 1,7 code, a zero must occur between 1 values, but there can not be more than seven sequential zero values. A di-bit would therefore occur, for example, in the following sequence: 00001010000. In the case of a di-bit, peak shift may increase the separation between the peaks of the analog output signal. This peak displacement may thus create a discrepancy in the pulse location timing with respect to the cells of the recovered clock signal.
The other important cause of bit shifting, known in the art as jitter, is a result of electronic and media noise caused by mechanical vibrations, electrical fluctuations and the like being superimposed upon the pulses of the analog signal. As a result of the superimposition of the noise on the signal pulses, the peaks of the pulses may become displaced, thereby possibly causing a similar discrepancy in the pulse location timing with respect to the cells of the recovered dock signal.
Standard error correction circuits and/or processes, referred to as ECC circuits and processes, will detect and correct a limited number of correctable or "soft" errors. However, as the tape drive ages and/or the tape dimensions change (e.g., due to age and environmental condition changes), the number of soft errors may increase beyond the capability of the ECC process and a non-correctable or "hard" error occurs.